Verifying Compliance of Trusted Programs
نویسندگان
چکیده
In this paper, we present an approach for verifying that trusted programs correctly enforce system security goals when deployed. A trusted program is trusted to only perform safe operations despite have the authority to perform unsafe operations; for example, initialization programs, administrative programs, root network daemons, etc. Currently, these programs are trusted without concrete justification. The emergence of tools for building programs that guarantee policy enforcement, such as security-typed languages (STLs), and mandatory access control systems, such as user-level policy servers, finally offers a basis for justifying trust in such programs: we can determine whether these programs can be deployed in compliance with the reference monitor concept. Since program and system policies are defined independently, often using different access control models, compliance for all program deployments may be difficult to achieve in practice, however. We observe that the integrity of trusted programs must dominate the integrity of system data, and use this insight, which we call the PIDSI approach, to infer the relationship between program and system policies, enabling automated compliance verification. We find that the PIDSI approach is consistent with the SELinux reference policy for its trusted programs. As a result, trusted program policies can be designed independently of their target systems, yet still be deployed in a manner that ensures enforcement of system security goals.
منابع مشابه
Teaming up for medical necessity compliance.
Healthcare finance professionals and other employees from departments involved with a hospital's revenue cycle can work together in many ways to minimize denials, delays, and write-offs: Verifying medical necessity when a patient is first seen, rather than when the patient arrives for service, so that an advance beneficiary notice can be issued and signed at the time of service. Ensuring that t...
متن کاملModular Model Checking of Dynamically Adaptive Programs
Increasingly, software must dynamically adapt its behavior in response to changes in its runtime environment and user require-ments in order to upgrade services, to harden security, or to improve performance. In order for adaptive software to be used insafety critical systems, they must be trusted. In this paper, we introduce a sound approach for modularly verifying whether anadapti...
متن کاملDavid Van Horn Research Statement past I: Mechanically Verifying Temporal Properties of Programs past Ii: Understanding the Computational Complexity of Program Analysis
I am interested in all aspects of program analysis and its applications to programming languages, software engineering, verification, and security. Specifically, I work on the design, implementation, and use of programming languages to enable the production of software that can be mechanically reasoned about, with the ultimate goal of enabling the construction of reusable, trusted software comp...
متن کاملCan Affirmative Motivations Improve Compliance in Emissions Trading
Early emissions trading programs obtained a very high rate of compliance, in part through a system of continuous emissions monitoring systems (CEMS). As they expand into a wider range of pollutants and sources, however, emissions trading programs will no longer be able to rely entirely, or even primarily, on CEMS. Instead, policy designers will have to rely on different forms of self-reporting,...
متن کاملVerifying a Privacy CA Remote Attestation Protocol
As the hardware root-of-trust in a trusted computing environment, the Trusted Platform Module (TPM) warrants formal specification and verification. This work presents results of an effort to specify and verify an abstract TPM 1.2 model using PVS that is useful for understanding the TPM and verifying protocols that utilize it. TPM commands are specified as state transformations and sequenced to ...
متن کامل